This talk was recorded at NDC Techtown in Kongsberg, Norway. #ndctechtown #ndcconferences #linux #embedded #softwaredeveloper Attend the next NDC conference near you: https://ndcconferences.com https://ndctechtown.com/ Subscribe to our YouTube channel and learn every day: /@NDC Running Linux as an embedded operating system throws up a few challenges. I will highlight some of the main points to give you an idea of how Embedded Linux differs from “Normal” Linux. The first challenge is the hardware: embedded devices are often designed for a price, which means slow CPU, not much RAM, not much storage: hardware that is definitely not powerful enough to compile the programs that it will run. In consequence, Embedded Linux almost always involves cross compilation utilising build tools such as Yocto Project Next, consider the type of workload. Typically, it involves reading from sensors (buttons, dials, cameras) and using the information to create some kind of output, from example an alert. This is real-time computing. Fortunately, modern Linux is pretty good at soft real-time and quite good at hard real-time – these are terms that I will discuss in the talk Thirdly, bear in mind that there is no admin to come along and apply a patch or reboot when things go wrong. We need robust methods of pushing updates to the target, of rebooting when things go wrong and of remote logging of critical errors. These are just three examples of what makes Embedded different; there are others. So, please come along to this talk if you have ever wondered about the devices that surround you and how the Linux that many of then contain is put together